El stack Grafana: Loki, Tempo y Mimir para observabilidad abierta

Paneles de métricas visualizando rendimiento

Grafana Labs ha construido en los últimos años un stack completo de observabilidad que rivaliza con opciones clásicas (Elasticsearch + Jaeger + Prometheus) y cloud (Datadog, New Relic). Tres componentes abiertos: Loki para logs, Tempo para trazas, Mimir para métricas. Todos con diseño similar: almacenamiento en object storage, índices mínimos, consulta vía Grafana.

El patrón común: object storage + índice mínimo

La innovación compartida de los tres proyectos es almacenar datos en buckets S3/GCS/Azure Blob, con solo un índice mínimo para localizar. Esto contrasta con:

  • Elasticsearch: indexa todo el contenido, caro en CPU y disco.
  • Jaeger con Cassandra: requiere cluster pesado.
  • Prometheus TSDB: escala vertical, no comparte datos entre instancias fácilmente.

Ventaja: el coste de almacenamiento en S3 es ~20x más barato que disco SSD con indices Elasticsearch. Para datos con baja tasa de consulta (logs antiguos, trazas históricas), la economía es dramática.

Loki para logs

Loki no indexa el contenido de los logs, solo etiquetas (labels como {app="api", level="error"}). Búsquedas dentro del log se hacen por escaneo — lento comparado con Elasticsearch, pero mucho más barato.

Casos donde Loki gana:

  • Alto volumen (TB/día) con acceso ocasional.
  • Equipos que ya usan Prometheus (mismo modelo de labels).
  • Presupuestos donde Elasticsearch no cuadra.

Casos donde no:

  • Búsquedas de texto libre muy frecuentes (Elasticsearch sigue ganando).
  • Analítica compleja sobre contenido de log.

Tempo para trazas

Tempo almacena trazas sin indexarlas (solo el traceID). Para buscar por atributo (p.ej., “todas las trazas del endpoint /api/v1/orders”), necesitas índice secundario en Prometheus/Loki.

Esto puede sonar limitante, pero encaja con un patrón común: usar métricas/logs para detectar problemas, usar trazas para diagnosticar. Desde un dashboard de Grafana, un click te lleva de métrica a traza correlacionada.

Comparado con Jaeger: Tempo es más barato de operar (sin Cassandra), pero Jaeger tiene UI más rica y búsquedas más flexibles.

Mimir para métricas

Mimir es Prometheus horizontal: mismo PromQL, mismos datos, pero clusterizable hasta miles de millones de series. Usa el mismo patrón object storage + índice.

Para un único Prometheus, no aporta. Para multi-tenancy, alta cardinalidad, o retención larga (>1 año), Mimir es la opción a escala Grafana Cloud.

Alternativas similares: Thanos, Cortex, VictoriaMetrics. Mimir y Cortex comparten código (Mimir es fork/refactor de Cortex por Grafana Labs en 2022). Thanos usa patrones ligeramente diferentes pero mismo objetivo. VictoriaMetrics destaca por eficiencia de recursos.

Integración con el resto

El valor real del stack Grafana está en la correlación cruzada:

  • Desde un panel de Grafana con métrica anómala, click → logs relacionados en Loki.
  • Desde un log con error, click → traza en Tempo.
  • Desde una traza, click → métricas del servicio involucrado.

Grafana Labs llama a esto “correlations” y funciona bien cuando las tres señales comparten etiquetas comunes (namespace, service, pod). Con OpenTelemetry como SDK unificado, esta correlación es automática.

Cuándo elegir Grafana stack

Escenarios claros:

  • Equipo ya usa Grafana + Prometheus. Añadir Loki y Tempo es evolución natural.
  • Presupuesto limitado con volúmenes medios-altos. El stack open-source + object storage es significativamente más barato que soluciones cloud.
  • Multi-tenancy simple. Los tres componentes soportan tenant isolation nativa.

Donde elegir otra cosa:

  • Analítica compleja sobre logs. Elasticsearch/Splunk siguen teniendo ventaja.
  • Integración con productividad ecosistema Datadog. Si tu equipo ya vive en Datadog, cambiar solo por open-source rara vez compensa.
  • Equipo sin experiencia operativa con object storage. La eficiencia viene de saber afinar S3/GCS lifecycle policies, sampling, retention.

Ver también cómo aplicar principios SRE sin ser Google — el stack técnico sigue a la práctica, no al revés.

Conclusión

El stack Grafana (Loki + Tempo + Mimir) ofrece observabilidad open-source con economía favorable a gran escala, gracias al patrón común de object storage + índice mínimo. Para equipos sensibles al coste o que valoran control completo sobre el stack, es una alternativa legítima al dúo Elasticsearch + Jaeger y a las soluciones cloud propietarias.

Síguenos en jacar.es para más sobre observabilidad, SRE y arquitectura abierta.

Entradas relacionadas